【大数据安全

您所在的位置:网站首页 火狐浏览器 安全 【大数据安全

【大数据安全

2023-04-01 14:56| 来源: 网络整理| 查看: 265

【大数据安全-Kerberos】Kerberos-Windows本地认证 1)文档编写目的2)Kerberos 安装3)Windows 中测试认证3.1.认证前的准备3.2.工具认证3.3.命令行认证3.3.1.通过密码认证3.3.2.通过 keytab 文件认证 4)配置 FireFox 浏览器访问5)测试访问集群服务5.1.测试访问HDFS和Yarn5.2.keytab 合并使用 6)总结

1)文档编写目的

在使用 CDH 的过程中,集群启用了 Kerberos 认证后,集群中的一些组件的 Web UI 也会启用 Kerberos 认证,例如 HDFS、Yarn、Hive 等组件,此时如果在 Windows 上对这些页面进行访问,是无法正常访问的,需要在 Windows 本地安装 Kerberos 客户端,并进行配置后才能够访问这些需要 Kerberos 认证的 Web UI,本文档将介绍如何在 Windows 10安装 Kerberos 客户端并配置 FireFox 浏览器访问 CDH 集群组件的 Web UI。

Kerberos详情可参考:【大数据安全-Kerberos】一篇文章搞定Kerberos认证

2)Kerberos 安装

(1)在Kerberos官网下载安装包,下载地址:http://web.mit.edu/kerberos/dist/

在这里插入图片描述

(2)本文档下载了64位的 安装包,下面按步骤进行安装

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(3)配置文件:C:\ProgramData\MIT\Kerberos5\krb5.ini

将安装 KDC Server 的服务器上的 /etc/krb5.conf 配置文件中的部分内容拷贝到该文件中。

在这里插入图片描述

注意:

不要直接替换 krb5.ini 文件,否则会出现文件格式问题,建议拷贝部分内容到 krb5.ini 文件中,同时注意内容格式,最好使用 Notepad 进行编辑,每行内容都定格编写,否则可能出现找不到 default realm 的情况,然后保存文件

(4)配置完成后,启动MIT Kerberos客户端,如下图所示:

在这里插入图片描述

(5)因为此工具的 kinit 命令可能与其他环境变量冲突,所以需要将此环境变量移动至最前面:

在这里插入图片描述

3)Windows 中测试认证

可以使用两种方式进行认证:

直接使用上面安装的工具认证通过windows中的cmd命令认证 3.1.认证前的准备

(1)在 KDC Server 上创建一个用户(后面登录时需要用户名称):

执行命令:

1、进入kerberos 控制台:kadmin.local

2、创建 kerberos 用户:addprinc + 用户名

在这里插入图片描述

(2)测试正常:

在这里插入图片描述

(3)在 KDC Server 上生成keytab文件:

执行命令:

1、进入kerberos 控制台:kadmin.local

2、生成 keytab 文件:xst -norandkey -k + 想要生成的key文件名称(必须以.keytab为后缀) + principal(用户名 + @XXX.COM)

在这里插入图片描述

(4)测试 keytab 文件:

在这里插入图片描述

注意:

可能会出现 Bad encryption type 问题,在生成 Keytab 文件时指定 encyption 类型,使用参数 -e encryption type,多个 encyption 类型以逗号分隔,如果是使用的 MIT Kerberos 按上述方式使用 xst 来生成,如果使用的 kdc 是 freeIPA 方式,使用下面的命令来生成:

ipa-getkeytab -s -p -k -e aes128-cts-hmac-sha1-96, des3-cbc-sha1, arcfour-hmac

3.2.工具认证

(1)在 Winodw 端,通过 MIT Kerberos 客户端 Get Ticket:

principal:用户名 + @XXX.COM

在这里插入图片描述

(2)在如下列表中可以看到获取的 ticket:

在这里插入图片描述

(3)销毁获取到的Ticket:

在这里插入图片描述

在这里插入图片描述

3.3.命令行认证 3.3.1.通过密码认证

(1)windows+R 搜索 cmd 进入 windows 命令黑窗口:

在这里插入图片描述

(2)命令行下初始化(需要输入密码):

在这里插入图片描述

(3)通过工具可以查看到已经成功完成认证:

在这里插入图片描述

3.3.2.通过 keytab 文件认证

(1)将服务器上的 keytab 文件(如果没有,可通过上面准备工作中的步骤生成)保存至 windows 本地

(2)windows+R 搜索 cmd 进入 windows 命令黑窗口:

在这里插入图片描述

(3)命令行下初始化(无需输入密码):

执行命令:kinit -kt keytab文件所在绝对路径\xxx.keytab 用户名@XXX.COM

在这里插入图片描述

(4)通过工具可以查看到已经成功完成认证:

在这里插入图片描述

(5)命令行下 kdestroy,客户端也同步进行票据的销毁:

在这里插入图片描述

在这里插入图片描述

4)配置 FireFox 浏览器访问

(1)打开 FireFox 浏览器,在地址栏输入about:config:

在这里插入图片描述

(2)修改配置:

1、network.negotiate-auth.trusted-uris = cdh178.macro.com,cdh177.macro.com,cdh176.macro.com

2、network.auth.use-sspi = false

在这里插入图片描述

注意:

network.negotiate-auth.trusted-uris 这个参数配置的是访问服务的 hostname,配置多个的话以 “,” 分隔

5)测试访问集群服务

这里我们以 HDFS 和 Yarn 举例

5.1.测试访问HDFS和Yarn

(1)由于此时未初始化 HDFS 的 Ticket,所以无法访问

在这里插入图片描述

(2)进入到 /var/run/cloudera-scm-agent 目录下,到最新的 HDFS 的目录中找到 HDFS 的 keytab 文件

在这里插入图片描述

在这里插入图片描述

(3)测试 HDFS 的 keytab 文件是否能够正常使用

在这里插入图片描述

(4)将HDFS的keytab文件拷贝到Windows本地,并进行 kinit

在这里插入图片描述

在这里插入图片描述

(5)再次通过FireFox访问HDFS服务,能够正常访问

在这里插入图片描述

(6)访问Yarn资源管理服务,访问正常

在这里插入图片描述

在这里插入图片描述

5.2.keytab 合并使用

(1)将需要合并的 keytab 文件同意的放在同一个目录下

在这里插入图片描述

(2)使用ktutil命令合并keytab文件,操作如下:

keytab 合并成功,默认生成的 keytab 文件权限是 600,如果是用非 root 用户执行需要注意权限问题。 在这里插入图片描述

注意:

使用合并后的 keytab 文件,无论用哪个系统用户的身份进行认证,配置成功后都能够通过 FireFox 浏览器访问服务的页面。

6)总结

1、Windows 本地的 krb5.ini 文件不能直接使用 krb5.conf 文件更名替换,否则会出现文件格式的问题导致 MIT Kerberos 客户端无法正常启动。

2、在生成 keytab 文件时需要加上 ”-norandkey” 参数,否则会导致 kinit 时密码错误。

3、在 Windows 本地安装了 Java 环境后,由于 Java 里也有 kinit、klist 等命令,所以需要在 Path 环境变量里面,将 Kerberos 的环境变量位置调整到Java环境变量的前面,保证在 Windows 本地使用的 kinit、klist 等命令是使用的 Kerberos 的命令,否则就会导致命令冲突。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3